<!DOCTYPE html>
<html lang="en">
  <head>
    <title>QCKConfiguration Class Reference</title>
    <link rel="stylesheet" type="text/css" href="../css/jazzy.css" />
    <link rel="stylesheet" type="text/css" href="../css/highlight.css" />
    <meta charset='utf-8'>
    <script src="../js/jquery.min.js" defer></script>
    <script src="../js/jazzy.js" defer></script>
    
    <script src="../js/lunr.min.js" defer></script>
    <script src="../js/typeahead.jquery.js" defer></script>
    <script src="../js/jazzy.search.js" defer></script>
  </head>
  <body>
    <a name="//apple_ref/swift/Class/QCKConfiguration" class="dashAnchor"></a>
    <a title="QCKConfiguration Class Reference"></a>
    <header>
      <div class="content-wrapper">
        <p><a href="../index.html">Quick 7.6.2 Docs</a> (84% documented)</p>
        <p class="header-right"><a href="https://github.com/Quick/Quick"><img src="../img/gh.png" alt="GitHub"/>View on GitHub</a></p>
        <div class="header-right">
          <form role="search" action="../search.json">
            <input type="text" placeholder="Search documentation" data-typeahead>
          </form>
        </div>
      </div>
    </header>
    <div class="content-wrapper">
      <p id="breadcrumbs">
        <a href="../index.html">Quick</a>
        <img id="carat" src="../img/carat.png" alt=""/>
        <a href="../Classes.html">Classes</a>
        <img id="carat" src="../img/carat.png" alt=""/>
        QCKConfiguration Class Reference
      </p>
    </div>
    <div class="content-wrapper">
      <nav class="sidebar">
        <ul class="nav-groups">
          <li class="nav-group-name">
            <a href="../Classes.html">Classes</a>
            <ul class="nav-group-tasks">
              <li class="nav-group-task">
                <a href="../Classes/AsyncBehavior.html">AsyncBehavior</a>
              </li>
              <li class="nav-group-task">
                <a href="../Classes/AsyncExample.html">AsyncExample</a>
              </li>
              <li class="nav-group-task">
                <a href="../Classes/AsyncExampleGroup.html">AsyncExampleGroup</a>
              </li>
              <li class="nav-group-task">
                <a href="../Classes/AsyncSpec.html">AsyncSpec</a>
              </li>
              <li class="nav-group-task">
                <a href="../Classes/Behavior.html">Behavior</a>
              </li>
              <li class="nav-group-task">
                <a href="../Classes/Callsite.html">Callsite</a>
              </li>
              <li class="nav-group-task">
                <a href="../Classes/Example.html">Example</a>
              </li>
              <li class="nav-group-task">
                <a href="../Classes/ExampleBase.html">ExampleBase</a>
              </li>
              <li class="nav-group-task">
                <a href="../Classes/ExampleGroup.html">ExampleGroup</a>
              </li>
              <li class="nav-group-task">
                <a href="../Classes/ExampleMetadata.html">ExampleMetadata</a>
              </li>
              <li class="nav-group-task">
                <a href="../Classes/QCKConfiguration.html">QCKConfiguration</a>
              </li>
              <li class="nav-group-task">
                <a href="../Classes/QuickConfiguration.html">QuickConfiguration</a>
              </li>
              <li class="nav-group-task">
                <a href="../Classes/QuickTestSuite.html">QuickTestSuite</a>
              </li>
              <li class="nav-group-task">
                <a href="../Classes.html#/_CallsiteBase">_CallsiteBase</a>
              </li>
              <li class="nav-group-task">
                <a href="../Classes.html#/c:@M@Quick@objc(cs)_CallsiteBase">_CallsiteBase</a>
              </li>
              <li class="nav-group-task">
                <a href="../Classes.html#/_ExampleBase">_ExampleBase</a>
              </li>
              <li class="nav-group-task">
                <a href="../Classes.html#/c:@M@Quick@objc(cs)_ExampleBase">_ExampleBase</a>
              </li>
              <li class="nav-group-task">
                <a href="../Classes.html#/_ExampleMetadataBase">_ExampleMetadataBase</a>
              </li>
              <li class="nav-group-task">
                <a href="../Classes.html#/c:@M@Quick@objc(cs)_ExampleMetadataBase">_ExampleMetadataBase</a>
              </li>
            </ul>
          </li>
          <li class="nav-group-name">
            <a href="../Functions.html">Functions</a>
            <ul class="nav-group-tasks">
              <li class="nav-group-task">
                <a href="../Functions.html#/s:5Quick11currentSpecSo10XCTestCaseCSgyF">currentSpec()</a>
              </li>
            </ul>
          </li>
          <li class="nav-group-name">
            <a href="../Protocols.html">Protocols</a>
            <ul class="nav-group-tasks">
              <li class="nav-group-task">
                <a href="../Protocols/AsyncDSLUser.html">AsyncDSLUser</a>
              </li>
              <li class="nav-group-task">
                <a href="../Protocols/SyncDSLUser.html">SyncDSLUser</a>
              </li>
            </ul>
          </li>
          <li class="nav-group-name">
            <a href="../Structs.html">Structures</a>
            <ul class="nav-group-tasks">
              <li class="nav-group-task">
                <a href="../Structs/StopTest.html">StopTest</a>
              </li>
              <li class="nav-group-task">
                <a href="../Structs/TestState.html">TestState</a>
              </li>
            </ul>
          </li>
          <li class="nav-group-name">
            <a href="../Typealiases.html">Type Aliases</a>
            <ul class="nav-group-tasks">
              <li class="nav-group-task">
                <a href="../Typealiases.html#/s:5Quick24AfterExampleAsyncClosurea">AfterExampleAsyncClosure</a>
              </li>
              <li class="nav-group-task">
                <a href="../Typealiases.html#/s:5Quick19AfterExampleClosurea">AfterExampleClosure</a>
              </li>
              <li class="nav-group-task">
                <a href="../Typealiases.html#/s:5Quick30AfterExampleNonThrowingClosurea">AfterExampleNonThrowingClosure</a>
              </li>
              <li class="nav-group-task">
                <a href="../Typealiases.html#/s:5Quick36AfterExampleWithMetadataAsyncClosurea">AfterExampleWithMetadataAsyncClosure</a>
              </li>
              <li class="nav-group-task">
                <a href="../Typealiases.html#/s:5Quick31AfterExampleWithMetadataClosurea">AfterExampleWithMetadataClosure</a>
              </li>
              <li class="nav-group-task">
                <a href="../Typealiases.html#/s:5Quick42AfterExampleWithMetadataNonThrowingClosurea">AfterExampleWithMetadataNonThrowingClosure</a>
              </li>
              <li class="nav-group-task">
                <a href="../Typealiases.html#/s:5Quick22AfterSuiteAsyncClosurea">AfterSuiteAsyncClosure</a>
              </li>
              <li class="nav-group-task">
                <a href="../Typealiases.html#/s:5Quick17AfterSuiteClosurea">AfterSuiteClosure</a>
              </li>
              <li class="nav-group-task">
                <a href="../Typealiases.html#/s:5Quick28AfterSuiteNonThrowingClosurea">AfterSuiteNonThrowingClosure</a>
              </li>
              <li class="nav-group-task">
                <a href="../Typealiases.html#/s:5Quick25AroundExampleAsyncClosurea">AroundExampleAsyncClosure</a>
              </li>
              <li class="nav-group-task">
                <a href="../Typealiases.html#/s:5Quick20AroundExampleClosurea">AroundExampleClosure</a>
              </li>
              <li class="nav-group-task">
                <a href="../Typealiases.html#/s:5Quick31AroundExampleNonThrowingClosurea">AroundExampleNonThrowingClosure</a>
              </li>
              <li class="nav-group-task">
                <a href="../Typealiases.html#/s:5Quick37AroundExampleWithMetadataAsyncClosurea">AroundExampleWithMetadataAsyncClosure</a>
              </li>
              <li class="nav-group-task">
                <a href="../Typealiases.html#/s:5Quick32AroundExampleWithMetadataClosurea">AroundExampleWithMetadataClosure</a>
              </li>
              <li class="nav-group-task">
                <a href="../Typealiases.html#/s:5Quick43AroundExampleWithMetadataNonThrowingClosurea">AroundExampleWithMetadataNonThrowingClosure</a>
              </li>
              <li class="nav-group-task">
                <a href="../Typealiases.html#/AsyncSpecBase">AsyncSpecBase</a>
              </li>
              <li class="nav-group-task">
                <a href="../Typealiases.html#/s:5Quick13AsyncSpecBasea">AsyncSpecBase</a>
              </li>
              <li class="nav-group-task">
                <a href="../Typealiases.html#/s:5Quick25BeforeExampleAsyncClosurea">BeforeExampleAsyncClosure</a>
              </li>
              <li class="nav-group-task">
                <a href="../Typealiases.html#/s:5Quick20BeforeExampleClosurea">BeforeExampleClosure</a>
              </li>
              <li class="nav-group-task">
                <a href="../Typealiases.html#/s:5Quick31BeforeExampleNonThrowingClosurea">BeforeExampleNonThrowingClosure</a>
              </li>
              <li class="nav-group-task">
                <a href="../Typealiases.html#/s:5Quick37BeforeExampleWithMetadataAsyncClosurea">BeforeExampleWithMetadataAsyncClosure</a>
              </li>
              <li class="nav-group-task">
                <a href="../Typealiases.html#/s:5Quick32BeforeExampleWithMetadataClosurea">BeforeExampleWithMetadataClosure</a>
              </li>
              <li class="nav-group-task">
                <a href="../Typealiases.html#/s:5Quick43BeforeExampleWithMetadataNonThrowingClosurea">BeforeExampleWithMetadataNonThrowingClosure</a>
              </li>
              <li class="nav-group-task">
                <a href="../Typealiases.html#/s:5Quick23BeforeSuiteAsyncClosurea">BeforeSuiteAsyncClosure</a>
              </li>
              <li class="nav-group-task">
                <a href="../Typealiases.html#/s:5Quick18BeforeSuiteClosurea">BeforeSuiteClosure</a>
              </li>
              <li class="nav-group-task">
                <a href="../Typealiases.html#/s:5Quick29BeforeSuiteNonThrowingClosurea">BeforeSuiteNonThrowingClosure</a>
              </li>
              <li class="nav-group-task">
                <a href="../Typealiases.html#/s:5Quick14ExampleClosurea">ExampleClosure</a>
              </li>
              <li class="nav-group-task">
                <a href="../Typealiases.html#/s:5Quick13ExampleFiltera">ExampleFilter</a>
              </li>
              <li class="nav-group-task">
                <a href="../Typealiases.html#/FileString">FileString</a>
              </li>
              <li class="nav-group-task">
                <a href="../Typealiases.html#/s:5Quick10FileStringa">FileString</a>
              </li>
              <li class="nav-group-task">
                <a href="../Typealiases.html#/s:5Quick0A10Configurera">QuickConfigurer</a>
              </li>
              <li class="nav-group-task">
                <a href="../Typealiases.html#/s:5Quick20SharedExampleClosurea">SharedExampleClosure</a>
              </li>
              <li class="nav-group-task">
                <a href="../Typealiases.html#/s:5Quick20SharedExampleContexta">SharedExampleContext</a>
              </li>
            </ul>
          </li>
        </ul>
      </nav>
      <article class="main-content">
        <section>
          <section class="section">
            <h1>QCKConfiguration</h1>
              <div class="declaration">
                <div class="language">
                  
                  <pre class="highlight swift"><code><span class="kd">final</span> <span class="kd">public</span> <span class="kd">class</span> <span class="kt">QCKConfiguration</span> <span class="p">:</span> <span class="kt">NSObject</span></code></pre>

                </div>
              </div>
            <p>A configuration encapsulates various options you can use
to configure Quick&rsquo;s behavior.</p>

          </section>
          <section class="section task-group-section">
            <div class="task-group">
              <ul>
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:5Quick16QCKConfigurationC28runAllWhenEverythingFilteredSbvp"></a>
                    <a name="//apple_ref/swift/Property/runAllWhenEverythingFiltered" class="dashAnchor"></a>
                    <a class="token" href="#/s:5Quick16QCKConfigurationC28runAllWhenEverythingFilteredSbvp">runAllWhenEverythingFiltered</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Run all examples if none match the configured filters. True by default.</p>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">public</span> <span class="k">var</span> <span class="nv">runAllWhenEverythingFiltered</span><span class="p">:</span> <span class="kt">Bool</span></code></pre>

                        </div>
                      </div>
                    </section>
                  </div>
                </li>
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:5Quick16QCKConfigurationC7includeyySbAA11ExampleBaseCcF"></a>
                    <a name="//apple_ref/swift/Method/include(_:)" class="dashAnchor"></a>
                    <a class="token" href="#/s:5Quick16QCKConfigurationC7includeyySbAA11ExampleBaseCcF">include(_:<wbr>)</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Registers an inclusion filter.</p>

<p>All examples are filtered using all inclusion filters.
The remaining examples are run. If no examples remain, all examples are run.</p>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">include</span><span class="p">(</span><span class="n">_</span> <span class="nv">filter</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="kt"><a href="../Typealiases.html#/s:5Quick13ExampleFiltera">ExampleFilter</a></span><span class="p">)</span></code></pre>

                        </div>
                      </div>
                      <div>
                        <h4>Parameters</h4>
                        <table class="graybox">
                          <tbody>
                            <tr>
                              <td>
                                <code>
                                <em>filter</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>A filter that, given an example, returns a value indicating
           whether that example should be included in the examples
           that are run.</p>
                                </div>
                              </td>
                            </tr>
                          </tbody>
                        </table>
                      </div>
                    </section>
                  </div>
                </li>
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:5Quick16QCKConfigurationC7excludeyySbAA11ExampleBaseCcF"></a>
                    <a name="//apple_ref/swift/Method/exclude(_:)" class="dashAnchor"></a>
                    <a class="token" href="#/s:5Quick16QCKConfigurationC7excludeyySbAA11ExampleBaseCcF">exclude(_:<wbr>)</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Registers an exclusion filter.</p>

<p>All examples that remain after being filtered by the inclusion filters are
then filtered via all exclusion filters.</p>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">exclude</span><span class="p">(</span><span class="n">_</span> <span class="nv">filter</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="kt"><a href="../Typealiases.html#/s:5Quick13ExampleFiltera">ExampleFilter</a></span><span class="p">)</span></code></pre>

                        </div>
                      </div>
                      <div>
                        <h4>Parameters</h4>
                        <table class="graybox">
                          <tbody>
                            <tr>
                              <td>
                                <code>
                                <em>filter</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>A filter that, given an example, returns a value indicating
           whether that example should be excluded from the examples
           that are run.</p>
                                </div>
                              </td>
                            </tr>
                          </tbody>
                        </table>
                      </div>
                    </section>
                  </div>
                </li>
                <li class="item">
                  <div>
                    <code>
                    <a name="/c:@M@Quick@objc(cs)QCKConfiguration(im)beforeEachWithMetadata:"></a>
                    <a name="//apple_ref/swift/Method/objc_beforeEach(_:)" class="dashAnchor"></a>
                    <a class="token" href="#/c:@M@Quick@objc(cs)QCKConfiguration(im)beforeEachWithMetadata:">objc_beforeEach(_:<wbr>)</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Undocumented</p>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">@objc</span><span class="p">(</span><span class="nv">beforeEachWithMetadata</span><span class="p">:)</span>
<span class="kd">public</span> <span class="kd">func</span> <span class="nf">objc_beforeEach</span><span class="p">(</span><span class="n">_</span> <span class="nv">closure</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="kt"><a href="../Typealiases.html#/s:5Quick43BeforeExampleWithMetadataNonThrowingClosurea">BeforeExampleWithMetadataNonThrowingClosure</a></span><span class="p">)</span></code></pre>

                        </div>
                      </div>
                    </section>
                  </div>
                </li>
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:5Quick16QCKConfigurationC10beforeEachyyyAA15ExampleMetadataCKScMYccF"></a>
                    <a name="//apple_ref/swift/Method/beforeEach(_:)" class="dashAnchor"></a>
                    <a class="token" href="#/s:5Quick16QCKConfigurationC10beforeEachyyyAA15ExampleMetadataCKScMYccF">beforeEach(_:<wbr>)</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Undocumented</p>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">@nonobjc</span>
<span class="kd">public</span> <span class="kd">func</span> <span class="nf">beforeEach</span><span class="p">(</span><span class="n">_</span> <span class="nv">closure</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="kt"><a href="../Typealiases.html#/s:5Quick32BeforeExampleWithMetadataClosurea">BeforeExampleWithMetadataClosure</a></span><span class="p">)</span></code></pre>

                        </div>
                      </div>
                    </section>
                  </div>
                </li>
                <li class="item">
                  <div>
                    <code>
                    <a name="/"></a>
                    <a name="//apple_ref/swift/Method/beforeEach(_:)" class="dashAnchor"></a>
                    <a class="token" href="#/">beforeEach(_:<wbr>)</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        
                      </div>
                    </section>
                  </div>
                </li>
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:5Quick16QCKConfigurationC10beforeEachyyyyKScMYccF"></a>
                    <a name="//apple_ref/swift/Method/beforeEach(_:)" class="dashAnchor"></a>
                    <a class="token" href="#/s:5Quick16QCKConfigurationC10beforeEachyyyyKScMYccF">beforeEach(_:<wbr>)</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Like Quick.DSL.beforeEach, this configures Quick to execute the
given closure before each example that is run. The closure
passed to this method is executed before each example Quick runs,
globally across the test suite. You may call this method multiple
times across multiple +[QuickConfigure configure:] methods in order
to define several closures to run before each example.</p>

<p>Note that, since Quick makes no guarantee as to the order in which
+[QuickConfiguration configure:] methods are evaluated, there is no
guarantee as to the order in which beforeEach closures are evaluated
either. Multiple beforeEach defined on a single configuration, however,
will be executed in the order they&rsquo;re defined.</p>
<div class="aside aside-important">
    <p class="aside-title">Important</p>
    <p>This automatically bridges between async and sync specs. When running on AsyncSpecs, this closure will run on the main actor.</p>

</div>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">beforeEach</span><span class="p">(</span><span class="n">_</span> <span class="nv">closure</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="kt"><a href="../Typealiases.html#/s:5Quick20BeforeExampleClosurea">BeforeExampleClosure</a></span><span class="p">)</span></code></pre>

                        </div>
                      </div>
                      <div>
                        <h4>Parameters</h4>
                        <table class="graybox">
                          <tbody>
                            <tr>
                              <td>
                                <code>
                                <em>closure</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>The closure to be executed before each example
            in the test suite.</p>
                                </div>
                              </td>
                            </tr>
                          </tbody>
                        </table>
                      </div>
                    </section>
                  </div>
                </li>
                <li class="item">
                  <div>
                    <code>
                    <a name="/c:@M@Quick@objc(cs)QCKConfiguration(im)afterEachWithMetadata:"></a>
                    <a name="//apple_ref/swift/Method/objc_afterEach(_:)" class="dashAnchor"></a>
                    <a class="token" href="#/c:@M@Quick@objc(cs)QCKConfiguration(im)afterEachWithMetadata:">objc_afterEach(_:<wbr>)</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Undocumented</p>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">@objc</span><span class="p">(</span><span class="nv">afterEachWithMetadata</span><span class="p">:)</span>
<span class="kd">public</span> <span class="kd">func</span> <span class="nf">objc_afterEach</span><span class="p">(</span><span class="n">_</span> <span class="nv">closure</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="kt"><a href="../Typealiases.html#/s:5Quick42AfterExampleWithMetadataNonThrowingClosurea">AfterExampleWithMetadataNonThrowingClosure</a></span><span class="p">)</span></code></pre>

                        </div>
                      </div>
                    </section>
                  </div>
                </li>
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:5Quick16QCKConfigurationC9afterEachyyyAA15ExampleMetadataCKScMYccF"></a>
                    <a name="//apple_ref/swift/Method/afterEach(_:)" class="dashAnchor"></a>
                    <a class="token" href="#/s:5Quick16QCKConfigurationC9afterEachyyyAA15ExampleMetadataCKScMYccF">afterEach(_:<wbr>)</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Undocumented</p>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">@nonobjc</span>
<span class="kd">public</span> <span class="kd">func</span> <span class="nf">afterEach</span><span class="p">(</span><span class="n">_</span> <span class="nv">closure</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="kt"><a href="../Typealiases.html#/s:5Quick31AfterExampleWithMetadataClosurea">AfterExampleWithMetadataClosure</a></span><span class="p">)</span></code></pre>

                        </div>
                      </div>
                    </section>
                  </div>
                </li>
                <li class="item">
                  <div>
                    <code>
                    <a name="/"></a>
                    <a name="//apple_ref/swift/Method/afterEach(_:)" class="dashAnchor"></a>
                    <a class="token" href="#/">afterEach(_:<wbr>)</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        
                      </div>
                    </section>
                  </div>
                </li>
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:5Quick16QCKConfigurationC9afterEachyyyyKScMYccF"></a>
                    <a name="//apple_ref/swift/Method/afterEach(_:)" class="dashAnchor"></a>
                    <a class="token" href="#/s:5Quick16QCKConfigurationC9afterEachyyyyKScMYccF">afterEach(_:<wbr>)</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Like Quick.DSL.afterEach, this configures Quick to execute the
given closure after each example that is run. The closure
passed to this method is executed after each example Quick runs,
globally across the test suite. You may call this method multiple
times across multiple +[QuickConfigure configure:] methods in order
to define several closures to run after each example.</p>

<p>Note that, since Quick makes no guarantee as to the order in which
+[QuickConfiguration configure:] methods are evaluated, there is no
guarantee as to the order in which afterEach closures are evaluated
either. Multiple afterEach defined on a single configuration, however,
will be executed in the order they&rsquo;re defined.</p>
<div class="aside aside-important">
    <p class="aside-title">Important</p>
    <p>This automatically bridges between async and sync specs. When running on AsyncSpecs, this closure will run on the main actor.</p>

</div>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">afterEach</span><span class="p">(</span><span class="n">_</span> <span class="nv">closure</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="kt"><a href="../Typealiases.html#/s:5Quick19AfterExampleClosurea">AfterExampleClosure</a></span><span class="p">)</span></code></pre>

                        </div>
                      </div>
                      <div>
                        <h4>Parameters</h4>
                        <table class="graybox">
                          <tbody>
                            <tr>
                              <td>
                                <code>
                                <em>closure</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>The closure to be executed before each example
            in the test suite.</p>
                                </div>
                              </td>
                            </tr>
                          </tbody>
                        </table>
                      </div>
                    </section>
                  </div>
                </li>
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:5Quick16QCKConfigurationC10aroundEachyyyyycKScMYccF"></a>
                    <a name="//apple_ref/swift/Method/aroundEach(_:)" class="dashAnchor"></a>
                    <a class="token" href="#/s:5Quick16QCKConfigurationC10aroundEachyyyyycKScMYccF">aroundEach(_:<wbr>)</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Like Quick.DSL.aroundEach, this configures Quick to wrap each example
with the given closure. The closure passed to this method will wrap
all examples globally across the test suite. You may call this method
multiple times across multiple +[QuickConfigure configure:] methods in
order to define several closures to wrap all examples.</p>

<p>Note that, since Quick makes no guarantee as to the order in which
+[QuickConfiguration configure:] methods are evaluated, there is no
guarantee as to the order in which aroundEach closures are evaluated.
However, aroundEach does always guarantee proper nesting of operations:
cleanup within aroundEach closures will always happen in the reverse order
of setup.</p>
<div class="aside aside-warning">
    <p class="aside-title">Warning</p>
    <p>Unlike <code>beforeEach</code> and <code>afterEach</code>, aroundEach does not automatically bridge between async and sync expectations.</p>

</div><div class="aside aside-see-also">
    <p class="aside-title">See also</p>
    <p><code>aroundEach(_:)-6ptvt</code> for the async version.</p>

</div>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">aroundEach</span><span class="p">(</span><span class="n">_</span> <span class="nv">closure</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="kt"><a href="../Typealiases.html#/s:5Quick20AroundExampleClosurea">AroundExampleClosure</a></span><span class="p">)</span></code></pre>

                        </div>
                      </div>
                      <div>
                        <h4>Parameters</h4>
                        <table class="graybox">
                          <tbody>
                            <tr>
                              <td>
                                <code>
                                <em>closure</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>The closure to be executed before each example
            in the test suite.</p>
                                </div>
                              </td>
                            </tr>
                          </tbody>
                        </table>
                      </div>
                    </section>
                  </div>
                </li>
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:5Quick16QCKConfigurationC10aroundEachyyyyyYacYaKcF"></a>
                    <a name="//apple_ref/swift/Method/aroundEach(_:)" class="dashAnchor"></a>
                    <a class="token" href="#/s:5Quick16QCKConfigurationC10aroundEachyyyyyYacYaKcF">aroundEach(_:<wbr>)</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Like Quick.DSL.aroundEach, this configures Quick to wrap each example
with the given closure. The closure passed to this method will wrap
all examples globally across the test suite. You may call this method
multiple times across multiple +[QuickConfigure configure:] methods in
order to define several closures to wrap all examples.</p>

<p>Note that, since Quick makes no guarantee as to the order in which
+[QuickConfiguration configure:] methods are evaluated, there is no
guarantee as to the order in which aroundEach closures are evaluated.
However, aroundEach does always guarantee proper nesting of operations:
cleanup within aroundEach closures will always happen in the reverse order
of setup.</p>
<div class="aside aside-warning">
    <p class="aside-title">Warning</p>
    <p>Unlike <code>beforeEach</code> and <code>afterEach</code>, aroundEach does not automatically bridge between async and sync expectations.</p>

</div><div class="aside aside-see-also">
    <p class="aside-title">See also</p>
    <p><code><a href="../Classes/QCKConfiguration.html#/s:5Quick16QCKConfigurationC10aroundEachyyyyycKScMYccF">aroundEach(_:)</a></code> for the sync version.</p>

</div>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">aroundEach</span><span class="p">(</span><span class="n">_</span> <span class="nv">closure</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="kt"><a href="../Typealiases.html#/s:5Quick25AroundExampleAsyncClosurea">AroundExampleAsyncClosure</a></span><span class="p">)</span></code></pre>

                        </div>
                      </div>
                      <div>
                        <h4>Parameters</h4>
                        <table class="graybox">
                          <tbody>
                            <tr>
                              <td>
                                <code>
                                <em>closure</em>
                                </code>
                              </td>
                              <td>
                                <div>
                                  <p>The closure to be executed before each example
            in the test suite.</p>
                                </div>
                              </td>
                            </tr>
                          </tbody>
                        </table>
                      </div>
                    </section>
                  </div>
                </li>
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:5Quick16QCKConfigurationC10aroundEachyyyAA15ExampleMetadataC_yyctKScMYccF"></a>
                    <a name="//apple_ref/swift/Method/aroundEach(_:)" class="dashAnchor"></a>
                    <a class="token" href="#/s:5Quick16QCKConfigurationC10aroundEachyyyAA15ExampleMetadataC_yyctKScMYccF">aroundEach(_:<wbr>)</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Identical to <code><a href="../Classes/QCKConfiguration.html#/s:5Quick16QCKConfigurationC10aroundEachyyyyycKScMYccF">aroundEach(_:)</a></code>, except the closure receives
metadata about the example that the closure wraps.</p>
<div class="aside aside-warning">
    <p class="aside-title">Warning</p>
    <p>Unlike <code>beforeEach</code> and <code>afterEach</code>, aroundEach does not automatically bridge between async and sync expectations.</p>

</div><div class="aside aside-see-also">
    <p class="aside-title">See also</p>
    <p><code><a href="../Classes/QCKConfiguration.html#/s:5Quick16QCKConfigurationC10aroundEachyyyyycKScMYccF">aroundEach(_:)</a></code> for the async version.</p>

</div>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">aroundEach</span><span class="p">(</span><span class="n">_</span> <span class="nv">closure</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="kt"><a href="../Typealiases.html#/s:5Quick32AroundExampleWithMetadataClosurea">AroundExampleWithMetadataClosure</a></span><span class="p">)</span></code></pre>

                        </div>
                      </div>
                    </section>
                  </div>
                </li>
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:5Quick16QCKConfigurationC10aroundEachyyyAA15ExampleMetadataC_yyYactYaKcF"></a>
                    <a name="//apple_ref/swift/Method/aroundEach(_:)" class="dashAnchor"></a>
                    <a class="token" href="#/s:5Quick16QCKConfigurationC10aroundEachyyyAA15ExampleMetadataC_yyYactYaKcF">aroundEach(_:<wbr>)</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Identical to <code><a href="../Classes/QCKConfiguration.html#/s:5Quick16QCKConfigurationC10aroundEachyyyyycKScMYccF">aroundEach(_:)</a></code>, except the closure receives
metadata about the example that the closure wraps.</p>
<div class="aside aside-warning">
    <p class="aside-title">Warning</p>
    <p>Unlike <code>beforeEach</code> and <code>afterEach</code>, aroundEach does not automatically bridge between async and sync expectations.</p>

</div><div class="aside aside-see-also">
    <p class="aside-title">See also</p>
    <p><code><a href="../Classes/QCKConfiguration.html#/s:5Quick16QCKConfigurationC10aroundEachyyyyycKScMYccF">aroundEach(_:)</a></code> for the sync version.</p>

</div>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">aroundEach</span><span class="p">(</span><span class="n">_</span> <span class="nv">closure</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="kt"><a href="../Typealiases.html#/s:5Quick37AroundExampleWithMetadataAsyncClosurea">AroundExampleWithMetadataAsyncClosure</a></span><span class="p">)</span></code></pre>

                        </div>
                      </div>
                    </section>
                  </div>
                </li>
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:5Quick16QCKConfigurationC11beforeSuiteyyyyKScMYccF"></a>
                    <a name="//apple_ref/swift/Method/beforeSuite(_:)" class="dashAnchor"></a>
                    <a class="token" href="#/s:5Quick16QCKConfigurationC11beforeSuiteyyyyKScMYccF">beforeSuite(_:<wbr>)</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Like Quick.DSL.beforeSuite, this configures Quick to execute
the given closure prior to any and all examples that are run.
The two methods are functionally equivalent.</p>
<div class="aside aside-important">
    <p class="aside-title">Important</p>
    This automatically bridges between async and sync specs. When running on AsyncSpecs, this closure will run on the main actor.

</div>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">beforeSuite</span><span class="p">(</span><span class="n">_</span> <span class="nv">closure</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="kt"><a href="../Typealiases.html#/s:5Quick18BeforeSuiteClosurea">BeforeSuiteClosure</a></span><span class="p">)</span></code></pre>

                        </div>
                      </div>
                    </section>
                  </div>
                </li>
                <li class="item">
                  <div>
                    <code>
                    <a name="/s:5Quick16QCKConfigurationC10afterSuiteyyyyKScMYccF"></a>
                    <a name="//apple_ref/swift/Method/afterSuite(_:)" class="dashAnchor"></a>
                    <a class="token" href="#/s:5Quick16QCKConfigurationC10afterSuiteyyyyKScMYccF">afterSuite(_:<wbr>)</a>
                    </code>
                  </div>
                  <div class="height-container">
                    <div class="pointer-container"></div>
                    <section class="section">
                      <div class="pointer"></div>
                      <div class="abstract">
                        <p>Like Quick.DSL.afterSuite, this configures Quick to execute
the given closure after all examples have been run.
The two methods are functionally equivalent.</p>
<div class="aside aside-important">
    <p class="aside-title">Important</p>
    This automatically bridges between async and sync specs. When running on AsyncSpecs, this closure will run on the main actor.

</div>

                      </div>
                      <div class="declaration">
                        <h4>Declaration</h4>
                        <div class="language">
                          <p class="aside-title">Swift</p>
                          <pre class="highlight swift"><code><span class="kd">public</span> <span class="kd">func</span> <span class="nf">afterSuite</span><span class="p">(</span><span class="n">_</span> <span class="nv">closure</span><span class="p">:</span> <span class="kd">@escaping</span> <span class="kt"><a href="../Typealiases.html#/s:5Quick17AfterSuiteClosurea">AfterSuiteClosure</a></span><span class="p">)</span></code></pre>

                        </div>
                      </div>
                    </section>
                  </div>
                </li>
              </ul>
            </div>
          </section>
        </section>
        <section id="footer">
          <p>&copy; 2025 <a class="link" href="https://github.com/Quick/Quick" target="_blank" rel="external noopener">Quick Contributors</a>. All rights reserved. (Last updated: 2025-06-26)</p>
          <p>Generated by <a class="link" href="https://github.com/realm/jazzy" target="_blank" rel="external noopener">jazzy ♪♫ v0.15.3</a>, a <a class="link" href="https://realm.io" target="_blank" rel="external noopener">Realm</a> project.</p>
        </section>
      </article>
    </div>
  </body>
</html>
